﻿import { session, cookie } from 'js/util'
import app from '../main'

export default {
  state: {
    userInfo: (session.get('userInfo') || {}),
    storeId: (session.get('storeId') || '')
  },
  getters: {
    token: state => {
      // 如果token存在，则直接返回token
      if (state.userInfo.accessToken) {
        return state.userInfo.accessToken
      } else {
        // 从cookie中获取用户信息
        state.userInfo = session.get('userInfo')

        // 如果获取到用户信息
        if (state.userInfo.accessToken) {
          // 从cookie中移除cookie
          cookie.remove('userInfo')

          // 将用户信息存放到session中
          session.set('userInfo', state.userInfo)

          // 返回用户信息
          return state.userInfo.accessToken
        }

        // 提示用户登录失效，并跳转至首页
        app.$toast('用户登录信息失效，请重新登录', () => {
          app.$router.push('/login')
        })
      }
    },
    userName: state => state.userInfo.userName,
    storeId: state => {
      if (state.userInfo.storeId) {
        return state.userInfo.storeId
      } else {
        app.$toast('用户登录信息缺失')
        app.$router.push('/login')
      }
    }
  },
  actions: {
  },
  mutations: {
    // 更新用户信息
    updateUserInfo(state, payload) {
      session.set('userInfo', payload)
      state.userInfo = payload
    },
    // 清除用户信息
    clearUserInfo(state) {
      session.remove('userInfo')
      state.userInfo = {}
    }
  }
}
